package models

import (
	"driver_srv/basic/config"
	"time"
)

// 司机证件图片
type DriverIdImg struct {
	Id                                   uint32    `gorm:"column:id;type:int UNSIGNED;primaryKey;not null;" json:"id"`
	DriverId                             uint32    `gorm:"column:driver_id;type:int UNSIGNED;comment:关联司机ID;not null;" json:"driver_id"`                                                            // 关联司机ID
	PersonalAvatar                       string    `gorm:"column:personal_avatar;type:varchar(255);comment:个人头像;not null;" json:"personal_avatar"`                                                  // 个人头像
	IdCardFront                          string    `gorm:"column:id_card_front;type:varchar(255);comment:身份证正面;not null;" json:"id_card_front"`                                                     // 身份证正面
	IdCardBack                           string    `gorm:"column:id_card_back;type:varchar(255);comment:身份证反面;not null;" json:"id_card_back"`                                                       // 身份证反面
	HeadIdCardBack                       string    `gorm:"column:head_id_card_back;type:varchar(255);comment:手持身份证正面;not null;" json:"head_id_card_back"`                                           // 手持身份证正面
	DriverLicenseFrout                   string    `gorm:"column:driver_license_frout;type:varchar(255);comment:驾驶证正面;not null;" json:"driver_license_frout"`                                       // 驾驶证正面
	ProfessionalQualificationCertificate string    `gorm:"column:professional _qualification_certificate;type:varchar(255);comment:从业资格证;not null;" json:"professional _qualification_certificate"` // 从业资格证
	Others                               string    `gorm:"column:others;type:varchar(255);comment:其他一;not null;" json:"others"`                                                                     // 其他一
	CreatedAt                            time.Time `gorm:"column:created_at;type:datetime;not null;default:CURRENT_TIMESTAMP;" json:"created_at"`
}

func (d *DriverIdImg) TableName() string {
	return "driver_id_img"
}
func (d *DriverIdImg) DriverIdImgCreate() error {
	return config.DB.Create(&d).Error
}

// 根据司机ID获取证件图片信息
func (d *DriverIdImg) FindDriverIdImgByDriverId() error {
	return config.DB.Where("driver_id = ?", d.DriverId).First(d).Error
}
